/*
 * @lc app=leetcode.cn id=448 lang=typescript
 *
 * [448] 找到所有数组中消失的数字
 */

// @lc code=start
// TODO 大失误
// function findDisappearedNumbers(nums: number[]): number[] {
//     let result: number[] = [];
//     let c = 0;
//     const sorted = [...new Set(nums)].sort((a, b) => a - b);
//     for (let index = 0; index < nums.length; index++) {
//         const should = index + 1;
//         const now = sorted[c];
//         if (now === undefined) {
//             result.push(should);
//         } else {
//             if (now > should) {
//                 while (index + 1 < now) {
//                     result.push(index + 1);
//                     index++;
//                 }
//             }
//         }
//         c++;
//     }
//     return result;
// }
function findDisappearedNumbers(nums: number[]): number[] {
    const sorted = [...new Set(nums)].sort((a, b) => {
        return a - b;
    });
    return [...Array(nums.length).keys()]
        .map((i) => i + 1)
        .filter((x) => !sorted.includes(x));
}
// @lc code=end
